/*
 * The contents of this file are subject to the Mozilla Public License Version
 * 1.1 (the "License"); you may not use this file except in compliance with
 * the License. You may obtain a copy of the License at
 * http://www.mozilla.org/MPL/
 *
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 * for the specific language governing rights and limitations under the
 * License.
 *
 * The Original Code is ST_EXT-S_UIMAST.
 *
 * The Initial Developer of the Original Code is
 * University of Rome, Tor Vergata
 * Portions created by the Initial Developer are Copyright (C) 2009
 * the Initial Developer. All Rights Reserved.
 */

package it.uniroma2.art.uimast.xpts;

/**
 * A service which let developers to publish factories for classes 
 * implementing the interface {@link ExportModeDriver}. A service should be 
 * registered into the framework with the property &quot;Mode&quot; set to the
 * name of the provided export mode. 
 * @author <a href="mailto:manuel.fiorelli@gmail.com">Manuel Fiorelli</a>
 */
public interface ExportModeService {
	/**
	 * Gets the name of the provided export mode. It must be equal to the value 
	 * of the property &quot:Mode&quot; of this service.
	 * @return the export mode name
	 */
	String getModeName();
	
	/**
	 * Gets the provider for an export mode.
	 * @return an export mode provider
	 */
	ExportModeDriver getProvider();
}
